package  gearunits.models{
	import org.papervision3d.core.math.NumberUV;
	import org.papervision3d.core.math.Number3D;
	import org.papervision3d.core.geom.renderables.Triangle3D;
	import org.papervision3d.core.geom.renderables.Vertex3D;
	import org.papervision3d.core.geom.TriangleMesh3D;
	import org.papervision3d.core.proto.MaterialObject3D;

	public class PMeshBuildingConstructionYard extends TriangleMesh3D {
		private var ve:Array;
		private var fa:Array;

		public function PMeshBuildingConstructionYard(material : MaterialObject3D ) {
			super( material, new Array(), new Array() );
			ve = this.geometry.vertices;
			fa = this.geometry.faces;
			v(-14.000000,13.960000,11.400000);
			v(-14.000000,2.760000,11.400000);
			v(-14.000000,2.760001,-11.400002);
			v(-14.000000,13.960003,-11.399996);
			v(8.400000,13.959997,11.400005);
			v(8.400000,2.759997,11.399993);
			v(8.400000,2.760002,-11.400003);
			v(8.400000,13.960000,-11.400000);
			v(-14.000000,2.760001,-10.233334);
			v(-14.000000,2.760000,10.233334);
			v(8.400000,2.760000,-10.233337);
			v(8.400000,2.759999,10.233327);
			v(8.400000,13.959999,-10.233332);
			v(8.400000,13.959997,10.233337);
			v(-10.033333,2.759999,14.199997);
			v(4.433334,2.759998,14.199995);
			v(4.433334,13.959997,14.200004);
			v(-10.033333,2.760001,-14.200003);
			v(4.433334,2.760002,-14.200003);
			v(-10.033333,13.960001,-14.199997);
			v(4.433334,13.960001,-14.199998);
			v(4.433332,2.759999,10.233330);
			v(-10.033334,2.760000,10.233332);
			v(-10.033333,2.760001,-10.233335);
			v(4.433334,2.760001,-10.233336);
			v(4.433332,13.960000,-10.233332);
			v(-10.033334,13.960001,-10.233332);
			v(4.433332,13.959999,10.233336);
			v(-10.033334,13.960000,10.233335);
			v(-9.310000,16.760002,-9.509998);
			v(-9.310000,16.760000,9.510002);
			v(3.710001,16.760000,-9.509998);
			v(3.710001,16.760000,9.510004);
			v(14.199999,13.959999,-10.233332);
			v(16.199999,2.760000,-10.233337);
			v(16.199999,2.759999,10.233327);
			v(14.199999,13.959997,10.233337);
			v(4.433334,2.759997,16.199995);
			v(-10.033333,2.759998,16.199997);
			v(-10.033333,13.959998,14.200001);
			v(4.433334,2.760003,-16.200003);
			v(-10.033333,2.760002,-16.200003);
			v(-14.000000,13.960001,-10.233332);
			v(-14.000000,13.960001,10.233335);
			v(-16.000000,2.760000,10.233334);
			v(-16.000000,2.760001,-10.233334);

			f(16,15,37,0.415987,0.999233,0.385534,0.829907,0.416184,0.824395,1.000000,0.000000,-0.000000);
			f(14,39,38,0.441049,0.993721,0.471501,0.824395,0.471698,0.999233,-1.000000,-0.000000,0.000000);
			f(18,20,40,0.471698,0.993721,0.502150,0.824395,0.502348,0.999233,1.000000,-0.000000,0.000000);
			f(19,17,41,0.385337,0.999233,0.354885,0.829907,0.385534,0.824395,-1.000000,0.000000,0.000000);
			f(43,9,44,0.973060,0.175605,0.942469,0.005512,0.973119,0.000000,0.000000,1.000000,-0.000000);
			f(8,42,45,0.324236,0.994488,0.354826,0.824395,0.354885,1.000000,0.000000,-1.000000,0.000000);
			f(42,43,44,0.177135,0.505175,0.178112,0.823852,0.000978,0.824395,-0.984428,0.000000,0.175791);
			f(42,44,45,0.177135,0.505175,0.000978,0.824395,0.000000,0.505719,-0.984428,0.000000,0.175791);
			f(9,8,45,0.032119,0.092715,0.031141,0.411391,0.000000,0.411295,0.000000,-0.000000,-1.000000);
			f(9,45,44,0.032119,0.092715,0.000000,0.411295,0.000978,0.092619,0.000000,-0.000000,-1.000000);
			f(41,40,20,0.705984,0.668147,0.706676,0.442893,0.883664,0.443436,-0.000000,-0.984427,0.175791);
			f(41,20,19,0.705984,0.668147,0.883664,0.443436,0.882973,0.668690,-0.000000,-0.984427,0.175791);
			f(17,18,40,0.092715,0.473343,0.317968,0.474034,0.317872,0.505175,0.000000,-0.000000,-1.000000);
			f(17,40,41,0.092715,0.473343,0.317872,0.505175,0.092619,0.504484,0.000000,-0.000000,-1.000000);
			f(39,16,37,0.882973,0.668690,0.883664,0.893943,0.706675,0.894486,-0.000000,0.984428,0.175790);
			f(39,37,38,0.882973,0.668690,0.706675,0.894486,0.705984,0.669233,0.000000,0.984428,0.175790);
			f(15,14,37,0.319324,0.031832,0.094071,0.031141,0.319420,0.000691,-0.000000,-0.000001,-1.000000);
			f(14,38,37,0.094071,0.031141,0.094167,0.000000,0.319420,0.000691,-0.000000,-0.000001,-1.000000);
			f(36,33,35,0.502348,0.505719,0.501370,0.824395,0.325213,0.505175,0.984428,0.000000,0.175791);
			f(33,34,35,0.501370,0.824395,0.324236,0.823852,0.325213,0.505175,0.984428,0.000000,0.175791);
			f(10,11,35,0.379920,0.412461,0.380898,0.093785,0.502348,0.094157,-0.000000,-0.000000,-1.000000);
			f(10,35,34,0.379920,0.412461,0.502348,0.094157,0.501370,0.412833,0.000000,-0.000000,-1.000000);
			f(13,12,33,0.852161,0.380250,0.851183,0.061573,0.941492,0.061296,0.000000,0.000000,1.000000);
			f(13,33,36,0.852161,0.380250,0.941492,0.061296,0.942469,0.379973,0.000000,0.000000,1.000000);
			f(11,13,36,0.178112,0.851190,0.178643,0.678369,0.268951,0.678646,0.000000,1.000000,-0.000001);
			f(11,36,35,0.178112,0.851190,0.268951,0.678646,0.299562,0.851562,0.000000,1.000000,-0.000001);
			f(12,10,33,0.178643,0.678369,0.178112,0.505548,0.268951,0.678092,0.000000,-1.000000,0.000001);
			f(10,34,33,0.178112,0.505548,0.299562,0.505175,0.268951,0.678092,0.000000,-1.000000,0.000001);
			f(32,30,31,0.705984,0.739044,0.503256,0.739666,0.705076,0.442893,0.000000,-0.000000,1.000000);
			f(30,29,31,0.503256,0.739666,0.502348,0.443515,0.705076,0.442893,0.000000,0.000000,1.000000);
			f(26,25,29,0.884090,0.986823,0.884782,0.761570,0.928838,0.975697,0.000000,-0.968214,0.250122);
			f(25,31,29,0.884782,0.761570,0.929459,0.772969,0.928838,0.975697,0.000000,-0.968214,0.250122);
			f(27,28,30,0.943161,0.442893,0.942469,0.217640,0.987217,0.228766,-0.000000,0.968214,0.250122);
			f(27,30,32,0.943161,0.442893,0.987217,0.228766,0.987838,0.431494,-0.000000,0.968214,0.250122);
			f(25,27,32,0.884642,0.761570,0.883664,0.442893,0.928551,0.454018,0.968215,0.000000,0.250121);
			f(25,32,31,0.884642,0.761570,0.928551,0.454018,0.929460,0.750169,0.968215,-0.000000,0.250121);
			f(28,26,29,0.930437,0.761570,0.929459,0.442893,0.974346,0.454018,-0.968214,0.000000,0.250122);
			f(28,29,30,0.930437,0.761570,0.974346,0.454018,0.975255,0.750169,-0.968214,0.000000,0.250122);
			f(39,0,28,0.565334,0.442893,0.503437,0.399485,0.565144,0.381130,0.000000,0.000000,1.000000);
			f(0,43,28,0.503437,0.399485,0.503381,0.381320,0.565144,0.381130,0.000000,0.000001,1.000000);
			f(16,39,27,0.790587,0.442202,0.565334,0.442893,0.790398,0.380439,0.000000,0.000000,1.000000);
			f(39,28,27,0.565334,0.442893,0.565144,0.381130,0.790398,0.380439,0.000000,0.000000,1.000000);
			f(4,16,27,0.852216,0.398415,0.790587,0.442202,0.790398,0.380439,0.000000,0.000000,1.000000);
			f(4,27,13,0.852216,0.398415,0.790398,0.380439,0.852161,0.380250,0.000000,0.000000,1.000000);
			f(28,43,42,0.565144,0.381130,0.503381,0.381320,0.502404,0.062644,0.000000,-0.000000,1.000000);
			f(28,42,26,0.565144,0.381130,0.502404,0.062644,0.564167,0.062454,0.000000,0.000000,1.000000);
			f(13,27,12,0.852161,0.380250,0.790398,0.380439,0.851183,0.061573,0.000000,0.000000,1.000000);
			f(27,25,12,0.790398,0.380439,0.789420,0.061763,0.851183,0.061573,0.000000,0.000000,1.000000);
			f(26,42,3,0.564167,0.062454,0.502404,0.062644,0.502348,0.044478,-0.000000,0.000002,1.000000);
			f(26,3,19,0.564167,0.062454,0.502348,0.044478,0.563977,0.000691,0.000000,0.000000,1.000000);
			f(25,26,19,0.789420,0.061763,0.564167,0.062454,0.563977,0.000691,0.000000,0.000000,1.000000);
			f(25,19,20,0.789420,0.061763,0.563977,0.000691,0.789230,0.000000,0.000000,0.000000,1.000000);
			f(12,25,7,0.851183,0.061573,0.789420,0.061763,0.851127,0.043408,0.000000,0.000001,1.000000);
			f(25,20,7,0.789420,0.061763,0.789230,0.000000,0.851127,0.043408,0.000000,0.000000,1.000000);
			f(17,2,23,0.092715,0.473343,0.031085,0.429556,0.092904,0.411580,0.000000,-0.000000,-1.000000);
			f(2,8,23,0.031085,0.429556,0.031141,0.411391,0.092904,0.411580,-0.000000,-0.000000,-1.000000);
			f(18,17,23,0.317968,0.474034,0.092715,0.473343,0.092904,0.411580,0.000000,-0.000000,-1.000000);
			f(18,23,24,0.317968,0.474034,0.092904,0.411580,0.318157,0.412271,-0.000000,-0.000000,-1.000000);
			f(6,18,24,0.379865,0.430626,0.317968,0.474034,0.318157,0.412271,0.000000,-0.000000,-1.000000);
			f(6,24,10,0.379865,0.430626,0.318157,0.412271,0.379920,0.412461,-0.000000,-0.000002,-1.000000);
			f(23,8,22,0.092904,0.411580,0.031141,0.411391,0.093882,0.092904,-0.000000,-0.000000,-1.000000);
			f(8,9,22,0.031141,0.411391,0.032119,0.092715,0.093882,0.092904,-0.000000,-0.000000,-1.000000);
			f(24,23,21,0.318157,0.412271,0.092904,0.411580,0.319135,0.093595,-0.000000,-0.000000,-1.000000);
			f(23,22,21,0.092904,0.411580,0.093882,0.092904,0.319135,0.093595,-0.000000,-0.000000,-1.000000);
			f(10,24,11,0.379920,0.412461,0.318157,0.412271,0.380898,0.093785,-0.000000,-0.000000,-1.000000);
			f(24,21,11,0.318157,0.412271,0.319135,0.093595,0.380898,0.093785,-0.000000,-0.000000,-1.000000);
			f(22,9,1,0.093882,0.092904,0.032119,0.092715,0.032174,0.074549,0.000000,0.000000,-1.000000);
			f(22,1,14,0.093882,0.092904,0.032174,0.074549,0.094071,0.031141,-0.000000,-0.000000,-1.000000);
			f(21,22,14,0.319135,0.093595,0.093882,0.092904,0.094071,0.031141,-0.000000,-0.000000,-1.000000);
			f(21,14,15,0.319135,0.093595,0.094071,0.031141,0.319324,0.031832,-0.000000,-0.000000,-1.000000);
			f(11,21,5,0.380898,0.093785,0.319135,0.093595,0.380954,0.075619,-0.000000,-0.000002,-1.000000);
			f(21,15,5,0.319135,0.093595,0.319324,0.031832,0.380954,0.075619,-0.000000,-0.000000,-1.000000);
			f(18,6,20,0.581362,0.739666,0.643143,0.745311,0.581892,0.912487,0.576683,-0.816968,0.000000);
			f(6,7,20,0.643143,0.745311,0.643673,0.918132,0.581892,0.912487,0.576683,-0.816968,0.000000);
			f(2,17,19,0.705454,0.912487,0.643673,0.918132,0.644203,0.745311,-0.576683,-0.816968,0.000000);
			f(2,19,3,0.705454,0.912487,0.644203,0.745311,0.705984,0.739666,-0.576683,-0.816968,0.000000);
			f(16,4,15,0.929990,0.767215,0.991771,0.761570,0.929459,0.940036,0.576683,0.816968,-0.000001);
			f(4,5,15,0.991771,0.761570,0.991240,0.934391,0.929459,0.940036,0.576684,0.816968,-0.000001);
			f(0,39,1,0.564659,0.918132,0.502878,0.912487,0.564129,0.745311,-0.576683,0.816968,0.000000);
			f(39,14,1,0.502878,0.912487,0.502348,0.739666,0.564129,0.745311,-0.576683,0.816968,-0.000000);
			f(12,7,6,0.973647,0.003508,0.991812,0.003564,0.991284,0.175605,1.000000,-0.000000,0.000000);
			f(12,6,10,0.973647,0.003508,0.991284,0.175605,0.973119,0.175549,1.000000,0.000000,-0.000000);
			f(4,13,5,0.975783,0.442893,0.993948,0.442949,0.975255,0.614935,1.000000,0.000000,-0.000000);
			f(13,11,5,0.993948,0.442949,0.993421,0.614990,0.975255,0.614935,1.000000,0.000000,-0.000000);
			f(43,0,1,0.324236,0.677217,0.306070,0.677272,0.305542,0.505231,-1.000000,0.000000,0.000000);
			f(43,1,9,0.324236,0.677217,0.305542,0.505231,0.323708,0.505175,-1.000000,0.000000,0.000000);
			f(3,42,2,0.324236,0.849314,0.306070,0.849369,0.323708,0.677272,-1.000000,0.000000,0.000000);
			f(42,8,2,0.306070,0.849369,0.305542,0.677328,0.323708,0.677272,-1.000000,0.000000,0.000000);

			this.x = 0.000000;
			this.y = 0.000000;
			this.z = 0.000000;

			this.rotationX = 0.000000;
			this.rotationY = 0.000000;
			this.rotationZ = 0.000000;

			this.scaleX = 1.000000;
			this.scaleY = 1.000000;
			this.scaleZ = 1.000000;

			this.geometry.ready = true;
		}
		public function v(x:Number, y:Number, z:Number):void {
			ve.push(new Vertex3D(x, y, z));
		}

		public function f(vertexIndex1:Number, vertexIndex2:Number, vertexIndex3:Number, uv00:Number, uv01:Number, uv10:Number, uv11:Number, uv20:Number, uv21:Number, normalx:Number, normaly:Number, normalz:Number):void {
			var face : Triangle3D = new Triangle3D(this, [ve[vertexIndex1], ve[vertexIndex2], ve[vertexIndex3]], null, [ new NumberUV(uv00, uv01), new NumberUV(uv10, uv11), new NumberUV(uv20, uv21) ] );
			face.faceNormal = new Number3D(normalx,normaly,normalz);
			fa.push(face);
		}

		public function f2(vertexIndex1:Number, vertexIndex2:Number, vertexIndex3:Number):void {
			var face:Triangle3D = new Triangle3D(this, [ve[vertexIndex1], ve[vertexIndex2], ve[vertexIndex3]], null, []);
			fa.push(face);
		}

	}
}